using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

using DataAccess;
using DataTransferObject;


namespace Business
{
    public enum CTMuonTraResult
    {
        OK,
        MAPHIEUMUONERROR,
        MASACHERROR,
        NGAYTRAERROR,
        TIENPHATERROR,
        SONGAYMUONERROR,
        TRANGTHAIMTERROR,
        DAOERROR
    }
  public  class clsCTMuonTraBUS
    {
      // Filed
      private clsCTMuonTraDAO ctmuontra;

      // contructors
      public clsCTMuonTraBUS()
      {
          this.ctmuontra = new clsCTMuonTraDAO();
      }

      //Lấy tổng giá của tất cả các quyển sách thuộc phiếu mượn sách.
      public long TongGiaTatCaSachThuocPhieuMuon(String MaPhieuMuon)
      {
          return ctmuontra.TongGiaTatCaSachThuocPhieuMuon(MaPhieuMuon);
      }

      //Lấy tiền phạt của tất cả các CT mượn sách của độc giả.
      public long LayTienNoTatCac_CT_PhieuMuonSach(String MaPhieuMuon)
      {
          return ctmuontra.LayTienNoTatCac_CT_PhieuMuonSach(MaPhieuMuon);
      }

      public bool CapNhatCTMuonTraDaTra(clsCTMuonTraDTO CTMuonTraDTO)
      {
          return ctmuontra.UpdateDaTra(CTMuonTraDTO);
      }

      public DataTable  LayDanhSachCTMuonTra()
      {
          return ctmuontra.SelectAll();
      }

      public DataTable ThongKeSachMuonTheoTheLoai(int thang)
      {
          return ctmuontra.LayThongKeSachMuonTheoThang(thang);
      }

      public DataTable ThongKeSachTraTre()
      {
          return ctmuontra.LayttQuyenSachBatDauTra();
      }

      public CTMuonTraResult ThemCTMuonTra(clsCTMuonTraDTO obj)
      {
          if (!this.ctmuontra.Insert(obj))
              return CTMuonTraResult.DAOERROR;
          return CTMuonTraResult.OK;
      }

      public CTMuonTraResult SuaCTMuonTra(clsCTMuonTraDTO obj)
      {
          if (!this.ctmuontra.Update(obj))
              return CTMuonTraResult.DAOERROR;
          return CTMuonTraResult.OK;
      }

      public CTMuonTraResult XoaCTMuonTra(clsCTMuonTraDTO obj)
      {
          if (!this.ctmuontra.Delete(obj))
              return CTMuonTraResult.DAOERROR;
          return CTMuonTraResult.OK;
      }
    }
}
